#include<iostream>
using namespace std;

class Person
{
public:
    static int m_A;

};

// 类内声明，类外初始化
int Person::m_A = 10;

void test()
{
    // 所有成员变量共享同一份数据
    Person p;
    cout << "p.m_A= " << p.m_A << endl;
    Person p1;
    p1.m_A = 20;
    cout << "p1.m_A= " << p1.m_A << endl;
    cout << "p.m_A= " << p.m_A << endl;
}

void test2()
{
    // 静态成员变量，不属于某一个对象上，所有对象共享同一份数据
    // 因此静态成员变量的访问方式有两种
    // 1.通过对象访问
    Person p3;
    cout << "p3.m_A:" << p3.m_A << endl;
    // 2.通过类名访问
    cout << "Person::m_A:" << Person::m_A << endl;
}

int main()
{
    test();

    test2();

    return 0;
}